package com.system.userserver.mapper;

import com.system.commonutils.pojo.UserBean;
import com.system.commonutils.pojo.UserInfo;
import com.system.userserver.bean.Account;
import com.system.userserver.bean.Admin;
import com.system.userserver.bean.UserDetail;
import com.system.userserver.bean.UserItem;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface UserMapper {
    /**
     * 根据账户名称查询用户
     * @param s
     * @return
     */
    UserBean selectUserByUsername(String s);

    /**
     * 添加管理员用户
     * @param userBean
     * @return
     */
    int addAdminUser(UserBean userBean);

    /**
     * 用户添加角色
     * @param userId
     * @param roleId
     * @return
     */
    int userAddRole(
            @Param("userId") Integer userId,
            @Param("roleId") Integer roleId);

    int addAcount(Account account);

    int addUserInfo(UserInfo userInfo);

    List<Admin> adminList(@Param("page")Integer page,@Param("size")Integer size);

    Integer adminCount();

    List<UserItem> userList(@Param("page") Integer page,
                            @Param("size") Integer size,
                            @Param("userId") Integer userId,
                            @Param("userNickName") String userNickName,
                            @Param("phone") String phone);

    Integer userCount(     @Param("userId") Integer userId,
                           @Param("userNickName") String userNickName,
                           @Param("phone") String phone);

    UserDetail selectUserInfo(Integer userId);

    Integer updateUserStatue(@Param("userId")Integer userId, @Param("statue")Integer statue);
}
